package org.csu.small.service;

import org.csu.small.common.UniformResponse;
import org.csu.small.vo.FavoritesVO;

public interface IFavoritesService {

    /**
     * 添加商品到收藏夹
     * @param userId
     * @param productId
     * @return
     */
    UniformResponse<FavoritesVO> add(Integer userId, Integer productId);

    /**
     * 删除多选，
     * @param userId
     * @param productIds 以","分割多个id
     * @return
     */
    UniformResponse<FavoritesVO> deleteByProductIds(Integer userId, String productIds);

    /**
     * 选中状态切换
     * @param userId
     * @param productId
     * @param status
     * @return
     */
    UniformResponse<FavoritesVO> selectOrUnSelect(Integer userId, Integer productId, Integer status);
    UniformResponse<FavoritesVO> selectOrUnSelectAll(Integer userId, Integer status);

    /**
     * 获取收藏夹中商品数量
     * @param userId
     * @return
     */
    UniformResponse<Integer> getFavCount(Integer userId);

    /**
     * 获取收藏夹列表
     * @param userId
     * @return
     */
    UniformResponse<FavoritesVO> getFavoritesList(Integer userId);

    UniformResponse isInFav(Integer userId, String productId);
}
